<?php
namespace View;
//Vy för login
class LoginView {

	public $username = "username";
	public $password = "password";
	private $LoginButton = "loginbutton";
	private $LogOutButton = "logoutbutton";
	private $Remember = "remember";

	CONST USER_LOGGED_IN = 0;
	CONST USER_NOT_LOGGED = 1;
	CONST USER_WRONG = 2;
	CONST DO_LOG_IN = 3;
	CONST USER_NOW_LOGGED = 4;
	CONST DO_LOG_OUT = 5;

	//Funktion för att kolla om rememberMe är checked.
	public function rememberMe() {
		if (isset($_POST[$this -> Remember])) {
			return true;
		}
		return false;
	}

	public function DoLoginBox() {
		//returnerar login rutan ..
		$xhtml = "
		<div id='formbox'>
			<form method='post' id='slick-login'> 
	    		<input type='text' placeholder='Användarnamn' name='$this->username'/>
	    		<input type='password' placeholder='Lösenord' name='$this->password' /></br>
	   			<span><input type='checkbox' name='$this->Remember' value='remember'/> Kom ihåg!</span>
	   			<input type='submit' name='$this->LoginButton' value='Logga in'/>
	   		</form>
   		</div>";
		return $xhtml;
	}

	public function DoLogoutBox() {
		//returnerar en logga ut knapp ..
		return "
	    	<div id='formbox'>
	    	<form name='input' method='post' id='slick-login'> 
	    		<input type='submit' name='$this->LogOutButton' class='quick-login-button' value='Logga ut'/>
	    	</form> 
	    	</div>";

	}

	//Funktion för att skapa cookie.
	public function createCookie($username, $password) {
		setcookie($this -> username, $username, time() + 3600 * 24 * 7);
		setcookie($this -> password, $password, time() + 3600 * 24 * 7);
	}

	//kollar om cookie är satt
	public function isCookieSet() {
		if (isset($_COOKIE[$this -> username]) && isset($_COOKIE[$this -> password])) {
			return true;
		} else {
			return false;
		}
	}

	// Tar bort cookie vid utloggning.
	public function removeCookie() {
		setcookie($this -> username, '', time() - 3600 * 24 * 7);
		unset($_COOKIE[$this -> username]);
		setcookie($this -> password, '', time() - 3600 * 24 * 7);
		unset($_COOKIE[$this -> password]);
	}

	//Hämtar användarnamn
	public function GetUserName() {

		if (isset($_POST[$this -> username]) == true) {
			return $_POST[$this -> username];
		}
		return null;

	}

	//Hämtar lösenord
	public function GetPassword() {
		if (isset($_POST[$this -> password]) == true) {
			return md5($_POST[$this -> password]);
		}
		return null;
	}

	//Kollar om om användaren tryckt på logga in
	public function TriedToLogIn() {
		if (isset($_POST[$this -> LoginButton]) == true) {
			return true;
		}
		return false;
	}

	//kolla om användaren tryckt på logga ut
	public function TriedToLogOut() {
		if (isset($_POST[$this -> LogOutButton]) == true) {
			return true;
		}
		return false;
	}

	//Fel meddelanden
	public function TryLoggMess($status) {
		switch ($status) {
			case self::USER_LOGGED_IN :
				return "<p class='warning'>Inloggad!</p>";
				break;
			case self::USER_NOT_LOGGED :
				return "<p class='warning'>Utloggad!</p>";
				break;
			case self::USER_WRONG :
				return "<p class='warning' style='padding: 15px 10px 15px 50px;'>Fel användarnamn eller lösenord.</p>";
				break;
			case self::DO_LOG_IN :
				return "<p>Inloggning lyckades!</p>";
				break;
			case self::USER_NOW_LOGGED :
				$name = $_SESSION[$this -> username];
				return "<img src='http://findicons.com/files/icons/716/user_task_report/256/user_anonymous_yellow_disabled.png'/>
						<p class='loggedin'>Du är nu inloggad $name!</p>";
				break;
			case self::DO_LOG_OUT :
				return "<p class='warning' style='padding: 15px 10px 15px 50px;'>Du är nu utloggad!</p>";
				break;
			default :
				break;
		}

	}

}
